package com.liuxinlong.api;

import com.liuxinlong.modules.entity.MessageConfiguration;
import com.liuxinlong.modules.entity.MessagePushRecord;

import java.util.List;

/**
 * 企业微信消息推送服务
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2023年01月06日
 */
public interface WeChatMessageInterface {
    /**
     * 消息推送
     *
     * @param userList             目标用户列表
     * @param recordId             消息发送记录id
     * @param messageConfiguration 消息推送配置
     * @param currentTime          推送时间
     * @return 消息推送记录
     */
    MessagePushRecord pushMessage(List<String> userList, String recordId, MessageConfiguration messageConfiguration, String currentTime);

    /**
     * 消息撤回
     *
     * @param msgId 目标消息
     */
    void recallMessage(String msgId);

    /**
     * 上传临时素材
     *
     * @param localPath 文件路径
     */
    String uploadTemplateMedia(String localPath);

}
